package com.huilian.iotbox.data.po;

import com.huilian.iotbox.data.dto.QueryParam;
import com.huilian.iotbox.data.vo.RoleVo;
import lombok.Data;
import lombok.ToString;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

/**
 * @author 少凡
 * @date 2020/2/23 10:48
 */
@Data
@ToString(callSuper = true)
public class User extends QueryParam implements Serializable {
    private Integer id;

    private String username;
    /**
     * 密码
     */
    private String password;
    /**
     * 操作密码
     */
    private String operatePassword;
    /**
     * 用户名称
     */
    private String name;
    private String headImgUrl;
    /**
     * 微信昵称
     */
    private String nickname;
    /**
     * 手机号(登录账号)
     */
    private String mobile;
    /**
     * 平台收款余额
     */
    private BigDecimal balance;

    /**
     * 分润余额
     */
    private BigDecimal commissionBalance;
    /**
     * 账号状态：0.正常，5.注销
     */
    private Integer status;
    /**
     * 0/null:不锁，1：锁住
     */
    private Boolean lockStatus;

    private String token;

    private String freezeReason;

    /**
     * 所属机构id
     */
    private Integer agencyId;
    /**
     * 业务员id
     */
    private Integer salesmanId;
    /**
     * 父ID
     */
    private Integer parentId;
    /**
     * 0=男，1=女
     */
    private Integer sex;
    /**
     * 是否订阅, 0未订阅 1已订阅
     */
    private Boolean subscribe;
    /**
     * 省份
     */
    private String province;
    /**
     * 城市
     */
    private String city;
    /**
     * 区县镇
     */
    private String district;
    /**
     * 详细地址
     */
    private String address;

    private Date birthday;
    /**
     * 身份证号
     */
    private String idCardNo;
    /**
     * 身份证正面
     */
    private String certPhotoA;
    /**
     * 身份证反面
     */
    private String certPhotoB;
    /**
     * unionID
     */
    private String unionId;
    /**
     * openid
     */
    private String openId;
    /**
     * 最后结算时间
     */
    private Date lastSettleMentDate;
    /**
     * 最后登录时间
     */
    private Date lastLoginTime;
    /**
     * 总登录次数
     */
    private Integer loginCount;

    /**
     * 收款类型
     */
    private Integer receiptType;

    private Integer version;

    private Boolean signStatus;

    private Integer dockingStatus;

    private Integer cardStatus;

    private Integer payeeUserId;

    private Date createTime;

    private Date updateTime;

    /**
     * 用户有几个角色
     */
    private List<RoleVo> roles;

    private Integer aid;
    private Integer rid;
    private Integer rechargeStstus;

    /**
     * 福利返回币数
     */
    private Integer welfareReturnCoinSum;
    private Integer welfareReturnIntegralSum;

    /**
     * 根据applet_or_official_account表id获取的openid存在officialAccountOpenId字段
     */
    private Integer officialAccountId;

    /**
     * 微信公众号
     */
    private String officialAccountOpenId;

    /**
     * 根据applet_or_official_account表id获取的openid存在appletAccountOpenId字段
     */
    private Integer appletAccountId;

    /**
     * 微信小程序openid
     */
    private String appletAccountOpenId;

    /**
     * 品牌信息id
     * */
    private Integer brandInfoId;

    private Boolean temporaryRole;
}
